using RBAC.Domain;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace RBAC.Domain.PurchasingManagement.PurchaseOrders
{
    /// <summary>
    /// 采购到货单信息
    /// </summary>
    [Table("ArrivalOrderInfo")]
    public class ArrivalOrderInfo : BaseEntity
    {
        /// <summary>
        /// 单据编码
        /// </summary>
        public string DocCode { get; set; }

        /// <summary>
        /// 业务类型
        /// </summary>
        public string BizType { get; set; }

        /// <summary>
        /// 采购单号
        /// </summary>
        public string PurchaseOrderNo { get; set; }

        /// <summary>
        /// 送货单（上传）
        /// </summary>
        public string DeliveryNote { get; set; }

        /// <summary>
        /// 单据日期
        /// </summary>
        public DateTime DocDate { get; set; }

        /// <summary>
        /// 操作员
        /// </summary>
        public string Operator { get; set; }

        /// <summary>
        /// 供应商ID
        /// </summary>
        public string SupplierId { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>
        public string DocStatus { get; set; }

        /// <summary>
        /// 审批员
        /// </summary>
        public string Auditor { get; set; }

        /// <summary>
        /// 入库仓库
        /// </summary>
        public string Warehouse { get; set; }
        /// <summary>
        /// 业务状态 0正常 1挂起 2关闭 3完成
        /// </summary>
        public int BizStatus { get; set; }

        /// <summary>
        /// 审批日期
        /// </summary>
        public DateTime? AuditDate { get; set; }

        /// <summary>
        /// 进度情况
        /// </summary>
        public string Progress { get; set; }

        /// <summary>
        /// 备注信息
        /// </summary>
        public string Remark { get; set; }
        
        /// <summary>
        /// 关联的采购到货单物料信息ID
        /// </summary>
        [NotMapped]
        public List<int> ArrivalOrderMaterialId { get; set; }
    }
}
